package other;

public class minCostClimbingStairs_749 {

    public int minCostClimbingStairs(int[] cost) {
        int n=cost.length;
        int[]dp=new int[n+1];  //爬到第i层需要的最小花费为dp【i】
        //可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯
        for(int i=2;i<n;i++){
            dp[i]=Math.min((dp[i-1]+cost[i-1]),(dp[i-2]+cost[i -2]));  //状态转移方程
            //从两层下面爬上来和从一层下面爬上来的话费
        }
        return dp[n];
    }
}
